package JAVA1114;

public class Animal {//首先先写一个父类，包括父类的属性，父类的构造方法，父类的成员方法
    public String name;
    public int age;
    public Animal(String name,int age){
        this.name = name;
        this.age = age;
    }
    public void eat(){
        System.out.println(name+"吃饭");
    }
}
class Cat extends Animal{//先写Cat继承Animal，再写cat的构造方法，
    public Cat(String name,int age){
       super(name, age);//其中构造方法内容用super引用
    }
    public void eat(){
        System.out.println(name+"吃鱼~");
    }//在重写eat，写出猫本身的吃特点
}
class Dog extends Animal{//与上相同
    public Dog(String name,int age){
        super(name,age);
    }
    public void eat(){
        System.out.println(name+"吃骨头！");
    }
}
class TestAnimal{
    public static void eat(Animal a){
        a.eat();//由于猫和狗都重写了eat()方法，所以要在测试类里写一个eat(父类名 参数){ }
    }
    public static void main(String[] args) {
        Cat cat = new Cat("胖橘",2);
        Dog dog = new Dog("花花",3);
        eat(cat);
        eat(dog);
    }
}
